Medical images are captured by a wide variety of modalities including, for example, computerized tomography (CT), magnetic resonance imaging (MRI), computed radiography (CR), digital radiography (DR), and mammography (MG). Regardless of the modality, the medical images are comprised of a plurality of pixels, each of which has a respective pixel value. Once visualized, each pixel value corresponds to a distinct gray level or a distinct shade of color, such as red, green or blue depending upon the respective color channel. Many modalities, such as each of the foregoing examples, have pixels with a relatively large range of values, thereby defining a dynamic pixel value range. In this regard, the range of pixel values may be substantially greater than the 256 display values that most displays are capable of presenting. For example, depending upon whether the image is an original image or has been post-processed, the pixel range of an image could be expressed by 10 bits so as to have 1024 different pixel values, 12 bits so as to have 4096 different pixel values or 16 bits so as to have 65536 different pixel values.
Most displays and most operating systems that support the display of medical images only allow for 256 shades of gray (in an instance in which a grey scale monitor is utilized) or 256 shades of each of red, green and blue colors (in an instance in which a color monitor having red, green and blue color channels is utilized) to be simultaneously displayed. Due to the differences between the dynamic pixel value range and the number of different display values that may be simultaneously presented by a display, the dynamic pixel value range may be divided into intervals, each of which has an equal number of different values, e.g., 256 different pixel values, as those which can be simultaneously presented by display. Within the interval of pixel values, the different pixel values are represented by different shades of gray or different shades of color. For pixel values that are below the minimum pixel value of the interval, the pixel values may be mapped to the minimum display value of the interval. Similarly, for pixel values that are above the maximum pixel value of the interval, the pixel values may be mapped to the maximum display value of the interval.
A user may modify the interval across the full dynamic pixel value range so as to permit the user to view the other pixel values. The interval may be defined in terms of a window and a level. The width of the interval in terms of the range of pixel values is termed the window with the center of the range of pixel values within the window being termed the level. In general, a window may be of any size with the windowing process mapping the pixel value range of the window from [center−width/2, center+width/2] to the nearest integer [0-255] for a display capable of presenting 256 shades. The mapping of the pixel values to the display intensities may be performed in accordance with a function. Depending on the type of function, a group of pixels may map to some grayscale (or color) values or some grayscale (or color) values may not be used at all.
This mapping of pixel values and output intensities is generally termed window leveling. In many modalities, the optimal window level is not known in advance and users must manually modify the window level until a proper value is found. This modification of the window level may be performed by user interaction with an image viewer application, such as a Picture Archiving and Communication System (PACS) viewer, through an input device, such as a mouse. In this regard, a user may modify the window level by moving the window throughout the dynamic pixel value range so as to permit different pixel values to be displayed. In an instance in which the dynamic pixel value range exceeds the number of different pixel values that may be simultaneously presented by a display, some of the pixel values of the input image will not be accurately represented by the image presented by the display regardless of the window leveling. Indeed, pixel values of the input images that fall outside the window may be represented or rather, mis-represented, by a pixel value within the window. A user viewing the image presented by the display may not recognize the modification of the pixel values and, as a result, may not realize that the visual representation of the input image does not entirely accurately reflect the input image.
In order to utilize a mouse to control the window width and window level of an image, movement of the mouse in a first direction is generally associated with the adjustment of the window width, while the movement of the mouse in a second direction, such as perpendicular to the first direction, permits adjustment of the window level. Movement of the mouse in a direction that includes components of both the first and second directions, such as movement in a diagonal direction, may permit the window width and level to both be simultaneously adjusted with the extent of the adjustment of the window width and the window level depending upon the movement of the mouse in the respective directions.
While generally effective, the use of a mouse to adjust the window width and window level of an image is not necessarily intuitive and is not necessarily the most efficient and effective input technique. In this regard, a user must remember the different directions in which the mouse must be translated in order to separately adjust the window width and window level. While the movement of the mouse in a direction that includes components in both the first and second directions associated with adjustment of the window width and the window level, respectively, may permit more rapid adjustment of both the window width and window level, this input technique may present even more challenges in regards to adjusting the window width and window level in an accurate manner. Consequently, a user may have to repeatedly modify the window width and the window level in order to arrive at the desired settings, thereby undesirably consuming additional processing and imaging resources to adjust and then re-adjust the window width and window level in response to the repeated modifications.